
import java.io.IOException;
import java.net.InetAddress;
import java.rmi.*;
import java.rmi.registry.*;
import java.rmi.server.*;
import java.sql.SQLException;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Mario
 */
public class rmiComunicacionServidor extends UnicastRemoteObject implements interfazComunicacionServidor {

    private servicioDao serviDao;
    private Registry registro;
    private int estepuerto;
    private String rmiComunicacionServidor;

    public rmiComunicacionServidor() throws RemoteException, SQLException{
        try {
            serviDao = new servicioDao();
            estepuerto = 3231;
            rmiComunicacionServidor = InetAddress.getLocalHost().getHostAddress();
        } catch (java.net.UnknownHostException ex) {
            Logger.getLogger(rmiComunicacionServidor.class.getName()).log(Level.SEVERE, null, ex);
        }
        registro = LocateRegistry.createRegistry(estepuerto);
        registro.rebind(rmiComunicacionServidor, this);
    }

    public List<Servicio> obtenerListaServicio(){
        try {
            List<Servicio> listaServicios = serviDao.getListaServiciosAll();
            return listaServicios;
        } catch (SQLException ex) {
            Logger.getLogger(rmiComunicacionServidor.class.getName()).log(Level.SEVERE, null, ex);
            return null;
        }
    }

    public boolean ejecutarServicio(int num){
        try {
            //ejecutarServicio ejecutarServicio = new ejecutarServicio();
            String str = serviDao.selectServicio(num);
            System.out.println(str);            
            ejecutarServicio ejecutarServicio = new ejecutarServicio(str);
            return true;
        } catch (IOException ex) {
            Logger.getLogger(rmiComunicacionServidor.class.getName()).log(Level.SEVERE, null, ex);
            return false;
        } catch (SQLException ex) {
            Logger.getLogger(rmiComunicacionServidor.class.getName()).log(Level.SEVERE, null, ex);
            return false;
        }
    }

    public static void main(String[] args) {
        try {
            new rmiComunicacionServidor();
        } catch (Exception e) {
            System.exit(1);
        }
    }

}
